package com.xbongbong.paas.service;

import com.xbongbong.paas.toolbox.exception.XbbException;
import com.xbongbong.pro.formula.pojo.dto.FormulaDTO;
import com.xbongbong.pro.formula.pojo.dto.ValidateFormulaDTO;
import com.xbongbong.pro.formula.pojo.dto.WorkflowValidateFormulaDTO;
import com.xbongbong.pro.formula.pojo.vo.FormulaVO;
import com.xbongbong.pro.formula.pojo.vo.ValidateFormulaVO;
import com.xbongbong.pro.formula.pojo.vo.WorkflowValidateFormulaVO;

/**
 * @author 吴峰
 * @version v1.0
 * @date 2019/5/30 11:21
 * @since v1.0
 */
public interface FormulaService {

    /**
     * 公式计算
     * @param formulaDTO
     * @return 返回计算结果
     * @throws XbbException
     */
    FormulaVO formulaCalculate(FormulaDTO formulaDTO) throws XbbException;

    /**
     * 校验公式是否正确
     * @param validateFormulaDTO
     * @return
     * @throws XbbException
     */
    ValidateFormulaVO validate(ValidateFormulaDTO validateFormulaDTO) throws XbbException;
    /**
     * 校验公式是否正确
     * @param workflowValidateFormulaDTO
     * @return
     * @throws XbbException
     */
    WorkflowValidateFormulaVO workflowValidate(WorkflowValidateFormulaDTO workflowValidateFormulaDTO) throws XbbException;
}
